package com.atguigu.yygh.model.base;

import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/** 
* @author 作者 Your-Name: 
* @version 创建时间：2021年3月24日 下午4:56:52 
* 类说明 
*/
@Data
public class BaseEntity implements Serializable {

	@ApiModelProperty(value = "id")
	@TableId(type = IdType.AUTO)
	private Long id;  //自增长
	
	@ApiModelProperty(value = "创建时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") 
	@TableField("create_time")
	private Date createTime;
	
	@ApiModelProperty(value = "更新时间")
	@TableField("update_time")
	private Date updateTime;
	
	@ApiModelProperty(value = "逻辑删除（1：已删除，0：未删除）")
	@TableLogic    // 没有@TableLogic注解调用deleteById/removeById,直接删除数据。SQL:delete from table where id = 1有注解走Update方法SQL：Update table set isDelete = 1 where id = 1
	@TableField("is_deleted")
	private Integer isDeleted;
	
	@ApiModelProperty(value = "其他参数")
	@TableField(exist = false)
	private Map<String,Object> param = new HashMap<>();
	
}
